<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <script>
        // let obj1=new Object()

        // console.dir(Object)

        // let arr1=new Array()
        // console.dir(Array)

        // let arr2=[1,2,3]
        // let arr3=new Array('js','node','jq')

        // console.log(arr2);

        // arr2.push(4)

        // arr3.filter(item=>{
        //     if(item=='js') return true 
        // })

        // 需求

        // 往数组里面加一个add 方法 求和

        //      所有的方法放到构造函数的原型对象上
        Array.prototype.gszAdd=function(){
            let sum=0
            for(var i=0;i<this.length;i++){
                let item=this[i]
                sum+=item 
            }
            return sum
        }

        Array.prototype.gszMax=function(){
            let maxVal=this[0];
            for(var i=0;i<this.length;i++){
                if(maxVal<this[i]) {
                    maxVal=this[i]
                }
            }
            return maxVal
        }

        let arr = [1,2,3]
    Array.prototype.gszPush=function(){
        for(var i=0;i<arguments.length;i++){
            this[this.length] = arguments[i]
        }
        return this 
    }
        let arr1 = [1,2,3,4,10]

    //加减乘除 自己封装  

    // let res=arr1.gszAdd()
    // console.log(res);

    // arr1.push(4)
    // console.log(arr1);

    // let maxVal =arr1.gszMax()
    // console.log(maxVal);

    arr1.gszPush(100,200,150,300)
    console.log(arr1);

    // each(obj,function(){})

    // let res=map(obj,function(){})

    // let nwArr =filter(obj,function(){})
    </script>
</body>
</html>